<?php
/**
 * TOP API: alibaba.alisports.finance.alipay.pay request
 * 
 * @author auto create
 * @since 1.0, 2016.07.04
 */
class AlibabaAlisportsFinanceAlipayPayRequest
{
	/** 
	 * 淘宝开放平台的app_key，获取后需提供给阿里体育后台管理人员
	 **/
	private $alispAppKey;
	
	/** 
	 * 签名
	 **/
	private $alispSign;
	
	/** 
	 * 发起接口的时间戳
	 **/
	private $alispTime;
	
	/** 
	 * 用户ID
	 **/
	private $aliuid;
	
	/** 
	 * 子平台订单ID
	 **/
	private $appTradeNo;
	
	/** 
	 * 商品描述
	 **/
	private $body;
	
	/** 
	 * 用户IP
	 **/
	private $buyerIp;
	
	/** 
	 * 异步通知地址
	 **/
	private $notifyUrl;
	
	/** 
	 * pc/mobile
	 **/
	private $platFrom;
	
	/** 
	 * 单价
	 **/
	private $price;
	
	/** 
	 * 数量
	 **/
	private $quantity;
	
	/** 
	 * 同步跳转通知地址
	 **/
	private $redirectUrl;
	
	/** 
	 * 任意备注信息，付款成功时会回传
	 **/
	private $remark;
	
	/** 
	 * 用来展示商品的URL
	 **/
	private $showUrl;
	
	/** 
	 * 商品名称
	 **/
	private $subject;
	
	/** 
	 * 总价
	 **/
	private $totalFee;
	
	private $apiParas = array();
	
	public function setAlispAppKey($alispAppKey)
	{
		$this->alispAppKey = $alispAppKey;
		$this->apiParas["alisp_app_key"] = $alispAppKey;
	}

	public function getAlispAppKey()
	{
		return $this->alispAppKey;
	}

	public function setAlispSign($alispSign)
	{
		$this->alispSign = $alispSign;
		$this->apiParas["alisp_sign"] = $alispSign;
	}

	public function getAlispSign()
	{
		return $this->alispSign;
	}

	public function setAlispTime($alispTime)
	{
		$this->alispTime = $alispTime;
		$this->apiParas["alisp_time"] = $alispTime;
	}

	public function getAlispTime()
	{
		return $this->alispTime;
	}

	public function setAliuid($aliuid)
	{
		$this->aliuid = $aliuid;
		$this->apiParas["aliuid"] = $aliuid;
	}

	public function getAliuid()
	{
		return $this->aliuid;
	}

	public function setAppTradeNo($appTradeNo)
	{
		$this->appTradeNo = $appTradeNo;
		$this->apiParas["app_trade_no"] = $appTradeNo;
	}

	public function getAppTradeNo()
	{
		return $this->appTradeNo;
	}

	public function setBody($body)
	{
		$this->body = $body;
		$this->apiParas["body"] = $body;
	}

	public function getBody()
	{
		return $this->body;
	}

	public function setBuyerIp($buyerIp)
	{
		$this->buyerIp = $buyerIp;
		$this->apiParas["buyer_ip"] = $buyerIp;
	}

	public function getBuyerIp()
	{
		return $this->buyerIp;
	}

	public function setNotifyUrl($notifyUrl)
	{
		$this->notifyUrl = $notifyUrl;
		$this->apiParas["notify_url"] = $notifyUrl;
	}

	public function getNotifyUrl()
	{
		return $this->notifyUrl;
	}

	public function setPlatFrom($platFrom)
	{
		$this->platFrom = $platFrom;
		$this->apiParas["plat_from"] = $platFrom;
	}

	public function getPlatFrom()
	{
		return $this->platFrom;
	}

	public function setPrice($price)
	{
		$this->price = $price;
		$this->apiParas["price"] = $price;
	}

	public function getPrice()
	{
		return $this->price;
	}

	public function setQuantity($quantity)
	{
		$this->quantity = $quantity;
		$this->apiParas["quantity"] = $quantity;
	}

	public function getQuantity()
	{
		return $this->quantity;
	}

	public function setRedirectUrl($redirectUrl)
	{
		$this->redirectUrl = $redirectUrl;
		$this->apiParas["redirect_url"] = $redirectUrl;
	}

	public function getRedirectUrl()
	{
		return $this->redirectUrl;
	}

	public function setRemark($remark)
	{
		$this->remark = $remark;
		$this->apiParas["remark"] = $remark;
	}

	public function getRemark()
	{
		return $this->remark;
	}

	public function setShowUrl($showUrl)
	{
		$this->showUrl = $showUrl;
		$this->apiParas["show_url"] = $showUrl;
	}

	public function getShowUrl()
	{
		return $this->showUrl;
	}

	public function setSubject($subject)
	{
		$this->subject = $subject;
		$this->apiParas["subject"] = $subject;
	}

	public function getSubject()
	{
		return $this->subject;
	}

	public function setTotalFee($totalFee)
	{
		$this->totalFee = $totalFee;
		$this->apiParas["total_fee"] = $totalFee;
	}

	public function getTotalFee()
	{
		return $this->totalFee;
	}

	public function getApiMethodName()
	{
		return "alibaba.alisports.finance.alipay.pay";
	}
	
	public function getApiParas()
	{
		return $this->apiParas;
	}
	
	public function check()
	{
		
		RequestCheckUtil::checkNotNull($this->alispAppKey,"alispAppKey");
		RequestCheckUtil::checkNotNull($this->alispSign,"alispSign");
		RequestCheckUtil::checkNotNull($this->alispTime,"alispTime");
		RequestCheckUtil::checkNotNull($this->appTradeNo,"appTradeNo");
		RequestCheckUtil::checkNotNull($this->buyerIp,"buyerIp");
		RequestCheckUtil::checkNotNull($this->notifyUrl,"notifyUrl");
		RequestCheckUtil::checkNotNull($this->platFrom,"platFrom");
		RequestCheckUtil::checkNotNull($this->redirectUrl,"redirectUrl");
		RequestCheckUtil::checkNotNull($this->subject,"subject");
		RequestCheckUtil::checkNotNull($this->totalFee,"totalFee");
	}
	
	public function putOtherTextParam($key, $value) {
		$this->apiParas[$key] = $value;
		$this->$key = $value;
	}
}
